4.5.2.1 编辑WEB应用
Path: /api/v1/resource/updateResource
Method: POST
接口描述:
- 对于
ext、webConf和openModel参数,暂不支持增量修改。ext、webConf或openModel参数可不传,但若需要传递ext、webConf或openModel参数,须完整传递ext、webConf或openModel下的所有字段。进行ext、webConf或openModel字段修改时,请先调用查询应用详情接口/api/v1/resource/queryResource获取完整的ext、webConf或openModel内容 - 对于除
ext、webConf和openModel参数之外的更新接口中的其他非必须参数,如果不传,不会对该条数据相对应参数进行修改 - 桌面云应用,全网泛域名应用请使用控制台修改
请求参数
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 |
Body
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| id | string | 非必须 | ID | 应用ID和应用名称至少传一个,用于查找到对应的应用。应用ID可通过查询应用列表接口搜索到 | |
| name | string | 非必须 | 应用名称 | 同时传ID和名称时,查找应用以ID为准,并会修改该ID对应应用的名称。只传名称时,查找应用以名称为准,此时无法修改应用的名称 | |
| nodeGroupId | string | 非必须 | 节点区域id, 应用所属节点区域的id | 综合网关无需填写 | |
| nodeGroupName | string | 非必须 | 节点区域名称, 应用所属节点区域的名称, nodeGroupId 与 nodeGroupName 同时传输时 nodeGroupName 不生效 | 综合网关无需填写 | |
| description | string | 非必须 | 描述 | ||
| groupId | string | 非必须 | 所属应用分类ID | 可通过应用分类查询接口获取ID | |
| groupName | string | 非必须 | 所属应用分类名称, groupId 与 groupName 同时传输时 groupName 不生效 | ||
| status | number | 非必须 | 启用状态,0禁用,1启用 | mock: 1 | |
| iconId | string | 非必须 | 预置的图标ID,"1"~"31"可供选择 | 自定义图标设置建议在控制台中配置 | |
| allowApply | number | 非必须 | 允许用户自助申请此应用,0不允许,1允许 | ||
| applyForInfo | object | 非必须 | 用户申请信息(修改需要传全量结构) | ||
| ├─ content | string | 非必须 | 告警内容 | ||
| ├─ accessReason | string[] | 非必须 | 申请理由 | ||
| appAddress | string | 非必须 | 后端应用服务器地址 | mock: https://1.2.3.1 | |
| aliasAppAddresses | string | 非必须 | 后端应用服务器地址别名,英文逗号分隔 | mock:https://1.1.1.2,https://1.1.1.3,https://1.1.1.4 | |
| accessAddress | string | 非必须 | 前端应用访问地址 | mock: https://testweb.com | |
| accessEntry | string | 必须 | 浏览器打开地址 | mock: https://testweb.com/ | |
| trustedCertId | string | 非必须 | 授信证书ID,可以根据证书ID或者名称进行指定,默认内置web应用证书ID为"default" | ||
| trustedCertName | string | 非必须 | 授信证书名称, trustedCertId 与 trustedCertName 同时传输时 trustedCertName 不生效 | ||
| sm2signCertId | string | 非必须 | 商密签名证书ID,默认内置商密签名证书ID为"sm2sign" | enableGm为1,且前端地址为https时,必须指定商密签名证书( 仅适用于2.2.16及以上版本) | |
| sm2signCertName | string | 非必须 | 商密签名证书名称 | sm2signCertId 和 sm2signCertName 只传一个即可,都传以sm2signCertId为准( 仅适用于2.2.16及以上版本) | |
| sm2encCertId | string | 非必须 | 商密加密证书ID,默认内置商密加密证书ID为"sm2enc" | enableGm为1,且前端地址为https时,必须指定商密加密证书( 仅适用于2.2.16及以上版本) | |
| sm2encCertName | string | 非必须 | 商密加密证书名称 | sm2encCertId 和 sm2encCertName 只传一个即可,都传以sm2encCertId为准( 仅适用于2.2.16及以上版本) | |
| enableGm | number | 非必须 | 0 | 应用是否启用中国商用密码标准传输 | 1代表启用,0代表禁用( 仅适用于2.2.16及以上版本) |
| enableBackupCert | number | 非必须 | 0 | 是否启用备用授信证书 | 1代表启用,0代表禁用。仅当enableGm为1时启用才有意义 |
| ext | object | 非必须 | 扩展字段 | ||
| ├─ hide | number | 非必须 | 在用户应用中心隐藏,0不隐藏,1隐藏 | ||
| ├─ dependSites | object | 非必须 | 依赖站点配置,依赖站点功能需要配置泛域名的授信证书才能开启 | ||
| ├─├─ enable | number | 非必须 | 是否启用,0禁用,1启用 | ||
| ├─├─ panDomain | string | 非必须 | 泛域名 | ||
| ├─├─ siteList | object[] | 非必须 | 依赖站点 | ||
| ├─├─├─ appAddress | string | 非必须 | 后端地址 | ||
| ├─├─├─ accessAddress | string | 非必须 | 前端访问地址 | ||
| ├─ paths | string [] | 非必须 | URL路径规则 | item 类型: string | |
| ├─ pathType | number | 非必须 | URL路径规则类型, 0白名单,1黑名单 | ||
| ├─ pathStatus | number | 非必须 | URL路径规则启用状态, 0禁用,1启用 | ||
| ├─ security | object | 非必须 | 应用安全配置 | ||
| ├─├─ watermark | object | 非必须 | 水印配置 | ||
| ├─├─├─ enable | number | 非必须 | 是否启用,0禁用,1启用 | ||
| ├─ openModel | object | 非必须 | 打开方式(仅用于配置windows平台的浏览器打开方式) | 2.3.10版本后不建议再使用该字段,请使用后文所述的openModel字段。如果两者共存,以后文的openModel配置为准 | |
| ├─├─ model | string | 非必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
| ├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
| ├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
| ├─├─ issuerName | array | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
| ├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
| ├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
| ssoConfig | object | 非必须 | 单点登录配置, 不建议通过openAPI进行配置 | ||
| ├─ enable | boolean | 非必须 | 不建议通过openAPI进行配置,请直接传false | mock: false | |
| openModel | object | 非必须 | 打开方式(新版,适用于2.3.10之后的版本) | 定义用户在工作台点击应用时的效果 | |
| ├─ platform | object | 非必须 | 不同平台的打开方式 | ||
| ├─├─ windows | object | 必须 | Windows平台的打开方式 | 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
| ├─├─├─ model | string | 必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
| ├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
| ├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
| ├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
| ├─├─├─├─ issuerName | string | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
| ├─├─├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
| ├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
| ├─├─├─├─ enableExecArgs | number | 非必须 | 是否在打开时携带额外启动参数 | 仅当model为"custom-browser"时有效 | |
| ├─├─├─├─ execArgs | string[] | 非必须 | 额外启动参数列表 | ||
| ├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语 | |
| ├─├─├─├─├─ zh-cn | string | 非必须 | 中文提示语 | ||
| ├─├─├─├─├─ en-us | string | 非必须 | 英文提示语 | ||
| ├─├─ mac | object | 必须 | MacOS平台的打开方式 | 子对象结构和字段定义与Windows平台的打开方式完全相同,以下省略。不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
| ├─├─ linux | object | 必须 | Linux平台的打开方式 | 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
| ├─├─├─ model | string | 必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
| ├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
| ├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
| ├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语。子对象结构和字段定义与Windows平台的hint字段完全相同,以下省略 | |
| ├─├─├─├─ uos | object | 非必须 | UOS子平台的浏览器打开方式配置 | ||
| ├─├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录3:打开方式中浏览器信息对应表-Linux》 中的 programName 列 | ||
| ├─├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录3:打开方式中浏览器信息对应表-Linux》中的 processName 列 | ||
| ├─├─├─├─ kylin | object | 非必须 | 麒麟子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
| ├─├─├─├─ ubuntu | object | 非必须 | Ubuntu子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
| pathListLimit | number | 非必须 | 0 | 是否启用url发布 | |
| webConf | object | 非必须 | {} | web应用相关配置 | |
| ├─passReqHost | number | 非必须 | 1 | 启用负载均衡时,往往需要将前端域名作为host头部传到上游,实现透明代理。 | |
| ├─ loadBalance | object | 非必须 | {} | 负载均衡配置 | |
| ├─├─ enable | number | 必须 | 0 | 是否启用负载均衡,未启用时其他字段非必填 | |
| ├─├─ protocol | string | 必须 | 负载均衡的后端服务器地址协议,包括https或者http | ||
| ├─├─ nodeList | object[] | 必须 | 负载均衡多个后台服务器地址列表 | ||
| ├─├─├─ addr | string | 非必须 | 都在均衡模式下,后台服务器地址,注意不能填写协议头,如192.168.0.1:443 | ||
| ├─├─ type | string | 必须 | 负载均衡算法,包含ip源地址hash,轮询,头部属性hash,cookie属性哈希,分别是ipHash,rr,headerHash,cookieHash,其中头部、cookie属性hash还需要配置key,指定一个hash的属性。 | ||
| ├─├─ key | string | 非必须 | 负载均衡算法选择头部属性、cookie属性hash时指定的hash属性。 | ||
| ├─├─ healthCheck | object | 必须 | 负载均衡健康检查; | ||
| ├─├─├─ enable | number | 非必须 | 0 | 是否启用健康检查,未启用时其他参数非必填 | |
| ├─├─├─ active | object | 必须 | 主动健康检查配置 | ||
| ├─├─├─├─ type | string | 必须 | tcp | 健康检查协议,支持tcp和http | |
| ├─├─├─├─ timeout | number | 必须 | 10 | 健康检查超时时间,支持1-3600秒 | |
| ├─├─├─├─ httpPath | string | 必须 | / | 健康检查的http接口url,当type为http时生效且必填 | |
| ├─├─├─├─ healthy | object | 必须 | 健康节点相关配置 | ||
| ├─├─├─├─├─ interval | number | 必须 | 10 | 健康节点的检查间隔,支持1-3600秒 | |
| ├─├─├─├─├─ httpsStatuses | number[] | 必须 | [200,302] | 健康节点返回的httpcode,当type为http时生效 | |
| ├─├─├─├─├─ successes | number | 必须 | 3 | 健康判定次数,支持1-50次 | |
| ├─├─├─├─ unhealthy | object | 必须 | 故障节点相关配置 | ||
| ├─├─├─├─├─ interval | number | 必须 | 10 | 故障节点的检查间隔,支持1-3600秒 | |
| ├─├─├─├─├─ failures | number | 必须 | 3 | 故障判定次数,支持1-50次 | |
| ├─ pathList | object[] | 非必须 | url细粒度发布配置,可以发布域名下的指定路径。 | ||
| ├─├─ path | string | 非必须 | 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。 | ||
| ├─├─ desc | string | 非必须 | 发布路径的备注,建议填写发布路径的初衷,方便后续维护 | ||
| ├─excludePathStatus | number | 非必须 | 0 | 是否启用url发布排除路径,启用后可以在发布路径中排除部分路径 | |
| ├─excludePathList | object[] | 非必须 | url发布排除路径列表 | ||
| ├─├─ path | string | 非必须 | 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。需要保证排除路径是已经发布的pathList中路径的字路径。 | ||
| ├─├─ desc | string | 非必须 | 排除路径的备注,建议填写排除路径的初衷,方便后续维护 |
请求示例1-修改描述以及节点区域
{
"name": "[RDP]张三的windows桌面",
"description": "简单的描述",
"nodeGroupName": "新的节点区域名称"
}
请求示例2-修改应用名称
{
"id": "162a5d3c-2266-4643-9c50-c5e619fa7e6e",
"name": "修改后的应用名称",
}
返回数据
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| code | number | 必须 | 错误码 | ||
| data | object | 必须 | 数据字段 | ||
| msg | string | 必须 | 描述信息 |
错误信息
| 错误提示 | 错误码 |
|---|---|
| 参数检查出错 | 10000001 |
| WEB全网应用特性已%s,当前操作不允许执行,请刷新后重试 | 10000001 |
| subModel 与 accessModel 不匹配,需要是 %s 之一 | 10000001 |
| 一个服务器地址只能对应一个访问地址,请先禁用或删除已存在的应用,再匹配新的服务器地址或访问地址 | 77200010 |
| 主站点前端地址或别名与依赖站点前端地址或别名冲突 | 10000001 |
| 依赖站点(%s)同时存在当前应用和应用(%s)配置中,为避免冲突建议将此子站点配置为独立应用 | 77200010 |
| 保存失败,应用单点登录配置有误 | 10000001 |
| 前端地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
| 前端访问地址不能为空 | 10000001 |
| 前端访问地址与客户端接入地址冲突 | 77200018 |
| 前端访问地址端口与证书认证端口冲突 | 77200018 |
| 单个主站点的依赖站点数量超过最大个数限制 | 10000001 |
| 单点登录设置中界面控件名称存在冲突 | 10000001 |
| 名称不能为空 | 10000001 |
| 地址列表超过最大个数限制 | 10000001 |
| 地址格式非法,开启域名排除地址特性时,隧道泛域名服务器地址最多只能有1个 * 且只能出现在首位 | 10000001 |
| 应用分类不存在 | 77200001 |
| 应用名(%s)已存在 | 77200005 |
| 应用图标不存在,请检查应用图标ID | 10000001 |
| 应用地址:(%s)格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
| 应用总数已达上限,无法继续新增 | 77200007 |
| 当前保存的泛域名与数据库中的记录不匹配,请返回上一级再尝试编辑 | 10000001 |
| 当前未配置WEB全网应用,请先配置WEB全网应用 | 10000001 |
| 当只改写不监听前端地址时,必须有前端地址别名 | 10000001 |
| 所有的服务器地址均被排除 | 77200010 |
| 授信证书不能为空 | 10000001 |
| 排除后生成的服务器地址数为:%s 超过限制:%s! | 77200041 |
| 排除地址 %s %s:%s 范围大于服务器地址 | 77200040 |
| 排除地址 %s 不在已配置的服务器地址中 | 77200040 |
| 排除地址不能为域名 | 10000001 |
| 服务器地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
| 根据排除地址生成的应用地址数量超过限制 | 77200041 |
| 格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
| 格式错误,请输入如:443,1-65535 | 77200010 |
| 此主站点存在多个前端地址相同的依赖站点 | 77200010 |
| 此主站点存在重复的依赖站点 | 77200010 |
| 泛域名应用前端访问地址不允许包含'.' | 10000001 |
| 泛域名长度不能超过%s个字符,否则将无法同步更新泛域名应用 | 10000001 |
| 登录界面地址的协议、主机名及端口需与该应用后端服务器地址保持一致 | 10000001 |
| 端口(%s)格式错误,请输入如:443,1-65535 | 77200010 |
| 网络区域不存在 | 10000001 |
| 自定义请求头部改写地址必须为后端服务器地址或任一别名地址 | 10000001 |
| 节点区域不存在 | 77200001 |
| 访问地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
| 访问地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
| 访问理由不能为空 | 10000001 |
| 证书解析失败,强制导入后,将修改为内置web应用证书 | 10000001 |
| 该应用的依赖站点(%s)和其他应用的前端地址存在冲突 | 77200010 |
| 该应用的依赖站点(%s)和应用(%s)的前端地址存在冲突 | 77200010 |
| 该应用的前端访问地址与依赖站点地址存在冲突 | 77200010 |
| 该应用的前端访问地址与应用(%s)的依赖站点存在冲突 | 77200010 |
| 该应用的后端访问地址与依赖站点地址存在冲突 | 77200010 |
| 选择的授信证书不存在 | 10000001 |
| 隧道应用排除地址范围大于应用地址 | 77200040 |
| 隧道应用服务器地址非法 | 10000001 |
附录1:打开方式中浏览器信息对应表-Windows
| 浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
|---|---|---|---|---|---|
| Google Chrome(谷歌浏览器) | chrome.exe | Google LLC | chrome.exe | ||
| Internet Explorer(IE浏览器) | iexplore.exe | Microsoft Corporation | IEXPLORE.EXE | ||
| 360安全浏览器 | 360se.exe | Beijing Qihu Technology Co., Ltd. | 360se.exe | ||
| 360极速浏览器 | 360chrome.exe | Beijing Qihu Technology Co., Ltd. | 360chrome.exe | ||
| Firefox(火狐浏览器) | firefox.exe | Mozilla Corporation | firefox.exe | ||
| Microsoft Edge | msedge.exe | Microsoft Corporation | msedge.exe | ||
| QQ浏览器 | QQBrowser.exe | Tencent Technology(Shenzhen) Company Limited | QQBrowser.exe | ||
| 搜狗浏览器 | SogouExplorer.exe | Beijing Sogou Technology Development Co., Ltd. | 该浏览器不存在原始文件名 |
附录2:打开方式中浏览器信息对应表-MacOS
| 浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
|---|---|---|---|---|---|
| 谷歌浏览器 | Google Chrome.app | Google LLC | Google Chrome.app | ||
| Safari | Safari.app | Apple Code Signing Certification Authority | Safari.app | ||
| 火狐浏览器 | Firefox.app | Mozilla Corporation | Firefox.app | ||
| 360浏览器 | 360Chrome.app | Beijing Qihoo Technology Co Ltd | 360Chrome.app | ||
| Microsoft Edge | Microsoft Edge.app | Microsoft Corporation | Microsoft Edge.app | ||
| QQ浏览器 | QQBrowser.app | Tencent Technology (Shenzhen) Company Limited | QQBrowser.app | ||
| Opera浏览器 | Opera.app | Opera Software AS | Opera.app |
附录3:打开方式中浏览器信息对应列表-Linux
| 浏览器名称(programName) | 进程名(processName) | 备注 | 其他信息 |
|---|---|---|---|
| UOS浏览器 | 浏览器 | 仅支持UOS子平台 | |
| 火狐浏览器 | Firefox 网络浏览器 | ||
| 龙芯浏览器 | 龙芯浏览器 | 不支持Ubuntu子平台 | |
| 奇安信浏览器 | 奇安信可信浏览器 | ||
| 360浏览器 | 360安全浏览器 | ||
| 谷歌浏览器 | Google Chrome | ||
| 红莲花浏览器 | 红莲花安全浏览器 |
附录4:打开方式支持的系统应用名称表-Windows
| 程序名称(programName) | 代表的实际程序 | 备注 | 其他信息 |
|---|---|---|---|
| remoteDesktop | 远程桌面 | ||
| file | 文件资源管理器 |